<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<button type="button" onclick="routerback();">返回</button>
		<script type="text/javascript">
			/*var hisjson = {"historyArr":[1,2,3]};
			sessionStorage.setItem("historyArr",JSON.stringify(hisjson));
			var hisArr = sessionStorage.getItem("historyArr");
			console.log(hisArr);
			console.log(typeof hisArr);
			var hisStr = JSON.parse(hisArr);
			console.log(typeof hisStr);
			console.log(hisStr.historyArr)
			hisStr.historyArr.push("new Array Item");
			console.log(JSON.stringify(hisStr))
			sessionStorage.setItem("historyArr",JSON.stringify(hisStr));*/
			var hisJson = {
				"urlArr":["a","b","","","e","f","","",""]
			}
			
			sessionStorage.setItem("hisArr",JSON.stringify(hisJson));
			
/* 	
	1、进页面，
		先获取当前页面的url的值，
		再判断是否刷新进入：
 		是：return;
 		否：将当前页面的url存储至key为curUrl的sessionStorage中
 			a、判断该页面是否需要过滤filterMark;
 			b、获取sessionStorage中key为hisArr的数据，
 				若hisArr为null，则表示为存储过数据。并根据filterMark存储，filterMark为true,存储空字符串，否则存储当前url
	
2、当前页的返回操作
	从sessionStorage中获取key为hisArr的数组，并通过JSON.parse()解析为json数据；
	判断json中数组的长度，来确定是否有返回的页面
		a、长度小于2，则表示没有返回的页面。
		b、长度大于1，则表示可能存在返回的页面，在从后往前遍历数组，找出末尾不为空的地址x（非最后一个），删除x后的数据，
			并将将x存储值curUrl中，在将新的数组存储至key为hisArr的sessionStorage中。
*/			
		
var filterUrlArr = ["login","toSelectAddress1","toSelectAddress2","toSelectAddress3","toSelectAddress4","goAddBusiness","goEditeBusiness","addBusiness"];
$(function(){
	router();
	$(".routerback").on(tClick,function(){
		routerback();
	});
});
function router(){
	//获取当前页面的url
	var url = window.location.href;
	console.log(url);
	var curUrl = sessionStorage.getItem("curUrl");  //获取sessionStorage中curUrl的值；
	console.log("curUrl"+curUrl);
	console.log(curUrl === url)
	if(curUrl === url){//如果curUrl和当前页面的url一致，则不存储
		return;
	}else{
		sessionStorage.setItem("curUrl",url);//将当前页存储值sessionStorage
		
		var index = url.lastIndexOf("/");
		//获取当前页面末尾(最后一个/后的字符串)的string
		var newUrl = url.substring(index+1);
		//是否过滤该页面的状态标志
		var filterMark = false;
		//过滤页面的数组
		var filterArr = filterUrlArr;
		for(var i = 0,len = filterArr.length;i<len;i++){
			if(newUrl.indexOf(filterArr[i]) != -1){
				filterMark = true;
				break;
			}
		};
		var hisArr = sessionStorage.getItem("hisArr");
		var hisArrKey;
		if(hisArr == null){
			hisArrKey = {"urlArr":filterMark?["nourl"]:[url]};
		}else{
			hisArrKey = JSON.parse(hisArr);
			hisArrKey.urlArr.push(filterMark?"nourl":url);
			/*if(filterMark){
				//将过滤的地址存储为空
				hisArrKey.urlArr.push("");
			}else{
				hisArrKey.urlArr.push(url);
			}*/
		}
		sessionStorage.setItem("hisArr",JSON.stringify(hisArrKey));
	}
}

function routerback(){
	var hisArr = sessionStorage.getItem("hisArr");
	var hisArrJson = JSON.parse(hisArr); 
	var urlArr = hisArrJson.urlArr;
	var urlArrLen = urlArr.length;
	if(urlArrLen <= 1){
		return;
	}else if(urlArrLen >= 2){
		var prevUrl;
		var prevIndex;
		
		for (var i = urlArrLen - 2;i>=0;i--) {
			if(urlArr[i] != "nourl"){
				prevUrl = urlArr[i];
				prevIndex = i;
				break;
			}
		}
		//截取prevIndex前的数据，生成新的数组
		var newUrlArr = urlArr.splice(0,prevIndex+1);
		sessionStorage.setItem("curUrl",prevUrl);
		sessionStorage.setItem("hisArr",JSON.stringify({"urlArr":newUrlArr}));
		window.location.href = prevUrl;
	}
}
		</script>
		
	</body>
</html>
